package com.qiku.utils;

import org.apache.commons.codec.digest.DigestUtils;


public class Md5 {
    public final static String md5key = "Ms2";

    /**
     * MD5方法
     *
     * @param text 明文
     * @param key  密钥
     * @return
     */
    public static String md5(String text, String key) {
        String encodeStr = DigestUtils.md5Hex(text + key);
        System.out.println("MD5加密后的字符串为:encodeStr=" + encodeStr);
        return encodeStr;
    }


    /**
     * MD5验证方法
     * @param text 明文
     * @param key 密钥
     * @param md5 密文
     * @return true/false
     */
    public static boolean verify(String text, String key, String md5) {
        //根据传入的密钥进行验证
        String md5Text = md5(text, key);
        if (md5Text.equalsIgnoreCase(md5)) {
            System.out.println("MD5验证通过");
            return true;
        }
        return false;
    }


    public static void main(String[] args) {
        // 注册 用户名：tom 密码 123456
        // 添加用户的时候，要进行加密
        String ak = Md5.md5("123456", "ak");
        System.out.println(ak);
        // 登陆 用户名 tom 123456
        // select * from user where username = tom and password = 123456
        boolean flag = verify("123456", "ak", ak);
        if (flag){
            System.out.println("验证通过！");
        } else {
            System.out.println("验证失败！");
        }
    }
}
